package interfaceConsole;

/**
 * ProcessarTexto
 * 
 * @author Gabriel Bronzatti Moro
 * @since 08/01/2013
 * @version 1.0
 */

import java.io.*;
import java.net.URISyntaxException;

/**
 * Classe responsável por ler os arquivos.txt contidos no pacote utilitários,
 * nela contém os objetos: file- do tipo File, responsável por indicar o
 * endereço do arquivo.txt no pacote java fileInput- do tipo FileInputStream,
 * responsável por obter os bytes do arquivo.txt input- do tipo
 * InputStreamReader, responsável por decodificar os bytes buffer- do tipo
 * BufferedReader, responsável por aplica leitor nos bytes decodificados, com o
 * metodo readLine retorna String da linha
 *
 * Através do método lerArquivo, é possível ler o arquivo.txt e exibílo no
 * console
 *
**/
public class ProcessarTexto {

    private File file;
    private FileInputStream fileInput;
    private InputStreamReader input;
    private BufferedReader buffer;

    public ProcessarTexto(String nomeDoArquivo, int numeroLinhas) {
        try {
            file = new File(getClass().getResource("/utilitarios/" + nomeDoArquivo + ".txt").toURI());

            fileInput = new FileInputStream(file);
            input = new InputStreamReader(fileInput);
            buffer = new BufferedReader(input);


            for (int x = 0; x < numeroLinhas; x++) {
                String line = buffer.readLine();
                System.out.println(line);
            }

            fileInput.close();
            input.close();
            buffer.close();
        } catch (FileNotFoundException erro1) {
            System.err.println("Exception: " + erro1 + "\n" + "Diretório não encontrado...");
        } catch (URISyntaxException erro2) {
            System.err.println("Exception: " + erro2 + "\n" + "Sintáxe inconsistente na utilização da URI para endereçar pacote...");
        } catch (IOException erro3) {
            System.err.println("Exception: " + erro3 + "\n" + "Exception da classe IOException...");
        }
    }
}
